
/**
 * 残疾人报送信息 js
 */
var common = {};

common.paginationQuery = function(pn) {
	var name = $("#searchKeyWords").val();
	var params = {};
	params.name = name;
	params.contractStatus = $("#_contractStatus").val();
	params.dataSource = $("#_dataSource").val();
	params.page = pn;
	server.ajaxLoadTableList({
		url:server.url + "/manage/disabledDeliever/list",	// post请求url路径--必填
		params:params,
		paginationTable:'data-table',
		paginationFooter:'data-pagination',
		checkbox:true,
		columns:[{
			field:'name',	
			title:'姓名',
			width:100,
			formatter:function(value,row){
				var result = '<a href="javascript:server.openModalBox(\'/manage/disabledDeliever/edit/' + row.id + '/1\',\'编辑\',800);">' + value + '</a>';
				return result;
			}
		},{
			field:'idNumber',	// 显示的字段, 支持 对象.字段 格式, 例如下面用户组
			title:'身份证号',	// 列名-title标题
			width:150	// 列宽, 单位为px
		},{
			field:'disabledIdNumber',	// 显示的字段, 支持 对象.字段 格式, 例如下面用户组
			title:'残疾证号',	// 列名-title标题
			width:150	// 列宽, 单位为px
		},{
			field:'contractStatus',
			title:'签约状态',
			width:100,
			formatter:function(value,row){
				var result = "--";
				if(value == "0"){
					result = "未签约";
				}else if(value == "1"){
					result = "已签约";
				}
				return result;
			}
		},{
			field:'dataSource',
			title:'数据来源',
			width:100,
			formatter:function(value,row){
				var result = "--";
				if(value == "1"){
					result = "平台添加";
				}else if(value == "2"){
					result = "自主报送";
				}else if(value == "3"){
					result = "整体导入";
				}
				return result;
			}
		},{
			field:'year',
			title:'年度',
			width:80
		},{
			field:'updatedUser.userName',
			title:'更新人',
			width:90
		},{
			field:'updateTime',
			title:'更新时间',
			width:150,
			formatter:function(value,row){
				var updateTime = '--';
				if(value != null && value > 0){
					updateTime = new Date(value).format('yyyy-MM-dd hh:mm:ss');
				}
				return updateTime;
			}
		},{
			field:'action',	// 如果此为操作按钮时, field则应写成active, 此值固定!!!
			title:'操作',
			width:60,
			formatter:function(value,row){
				// 操作按钮
				var operationButtons = '<div class="btn-group">';
                operationButtons += '<a class="btn btn-xs btn-azure dropdown-toggle" data-toggle="dropdown" aria-expanded="false">操作 <i class="fa fa-angle-down"></i></a>';
                operationButtons += '<ul class="dropdown-menu dropdown-azure">';
                operationButtons +=  '<li><a href="javascript:server.openModalBox(\'/manage/disabledDeliever/edit/' + row.id + '/1\',\'编辑\',800);"> 编辑</a></li>';
                operationButtons +=  '<li><a href="javascript:server.deleteObject(\''+row.id+'\',\'/manage/disabledDeliever/delete\',common.paginationQuery,server.currentPage);"> 删除</a></li>';
                operationButtons += '</ul>';
                operationButtons +=  '</div>';
				return operationButtons;
			}
		}]
	});
}

common.validate = function(){
	//校验姓名
	if(verify.isNull($("#name").val())){
		server.alert("名称不可为空");
		return false;
	}
	
	//校验残疾证号
	if(!verify.isDeformityCard($("#disabledIdNumber").val())){
		server.alert("请输入正确的残疾证号");
		return false;
	}
	//校验联系方式
	if(!verify.checkTel($("#contactNumber").val())){
		server.alert("请输入正确的联系方式");
		return false;
	}
	//校验区域
	if(verify.isNull($("#district").val())){
		server.alert("请选择区县");
		return false;
	}
	return true;
}

common.contract = function(){
	// 1- 判断是否有被选中的
	var ckbChecked = $("#data-table tbody tr td input[name='ckbItem']:checked").length;
	if (ckbChecked < 1) {
		server.alert("请选择要操作的项");
		return;
	}
	// 2- 组装参数
	var idArray = new Array();
	$("#data-table tbody tr td input[name='ckbItem']:checked")
			.each(function() {
				idArray.push($(this).val());
			});
	
	//console.log(aesEncArray(idArray));
	
	alertify.confirm('确定要签约此'+idArray.length+'项吗? ',function(){
		// 3- 异步报送
		$.ajax({
			url : server.url + "/manage/disabledDeliever/contract",
			type : 'post',
			data : {
				idArray : idArray
			},
			traditional : true,
			dataType : 'json',
			beforeSend : function() {
			},
			success : function(data) {
				if(data.notice){
	    			server.alertSuccess(data.message);
					// 使用回调函数刷新当前页
	    			common.paginationQuery(server.currentPage);
				} else {
					server.alert(data.message);
				}
			},
			error : function() {
				server.alert('操作发生错误, 请刷新页面重新尝试或者联系管理员进行解决.');
			}
		});
	});
}

//上传文件 -- 弃用
common.uploadifyStart = function(){
	$("#file_upload").uploadify({
		'buttonClass' : 'btn btn-info',
		'buttonCursor': 'hand',
		//'removeCompleted':true,
		'buttonText':'选择文件',
		'auto' : true,
		'successTimeout' : 99999,
		'method' : 'post',
		'swf' : server.contextPath + "/assets/uploadify/uploadify.swf",
		'queueID' : 'myQueueID', //uploadfileQueue
		'fileObjName' : 'uploadFile',
		'uploader' : server.url + '/manage/disabledDeliever/importExcel',
		'removeTimeout': 3,
		'width' : '80',
		'height' : '40',
		'fileTypeDesc' : 'excel文件：',
		'fileTypeExts' : '*.xls;*.xslx', 
		'fileSizeLimit' : 0,
		'queueSizeLimit' : 1,
		'multi': false,
		//上传到服务器，服务器返回相应信息到data里
		'onUploadSuccess' : function(file, data, response) {
			console.log(data);
			var data = eval('('+ data +')');
			if(data.notice){
				server.closeModalBox();
				server.alertSuccess(data.message);
			}
			server.alert(data.message);
			server.closeModalBox();
		},
	});
	$("#file_upload-button").css("line-height","25px");
}


common.validate = function(){
	var obj = {};
	obj.myname = "123";
	return obj;
}

common.upload = function(validateCallBack){
	var uploader = new WebUploader.Uploader({
		auto :false,
	    pick:{
	    	id:'#attach',
	    	innerHTML:'选择文件',
	    	multiple: true
	    },
	    swf: server.url + '/assets/webuploader-0.1.5/Uploader.swf',
	    server:server.url + '/manage/disabledDeliever/importExce1',
	    fileVal:'uploadFile',
	    fileNumLimit: 2,
	    //duplicate: false,//是否可以重复选择同一个文件
	    compress: null,//图片不压缩
	    resize: false,
	    threads:1,//上传并发数。允许同时最大上传进程数,为了保证文件上传顺序
	    disableGlobalDnd: true,//禁止全屏拖拽
	    accept:{
	        title: 'images',
	        extensions: 'gif,jpg,jpeg,bmp,png',
	        mimeTypes: 'image/*'
	    },
	    fileSingleSizeLimit : 50*1024
	});
	
	var $list = $("#thelist");
	// 当有文件添加到队列的时候
	 uploader.on("fileQueued", function(file) {
        $list.append( "<div id='"+  file.id + "' class='item'>" +
            "<span class='info'>" + file.name + "</span>" +
            "<p class='state'>待上传...</p>" +
        "</div>");
    });
        
	uploader.on('uploadProgress',
		function(file, percentage) {
			var $li = $('#' + file.id); 
			var $percent = $li.find('.progress .progress-bar');
			
			// 避免重复创建
			if (!$percent.length) {
				$percent = $(
						'<div class="progress progress-striped active">'
								+ '<div class="progress-bar" role="progressbar" style="width: 0%">'
								+ '</div>' + '</div>')
						.appendTo($li).find('.progress-bar');
			}
			$percent.css('width', percentage * 100 + '%').html(percentage * 100 + '%');
	});
	
	//文件上传成功时触发：
	uploader.on("uploadSuccess", function(file, response) {
        $( "#"+file.id ).find("p.state").text("上传成功");
    });
	
	//文件上传失败时触发：
	uploader.on("uploadError", function(file, reason) {
        $( "#"+file.id ).find("p.state").text("上传失败");
    });
	
	uploader.on( 'uploadComplete', function( file ) {
        //$( '#'+file.id ).find('.progress').fadeOut();
    });
	
	//所有文件上传完毕
	uploader.on( 'uploadFinished', function() {
		$("#btnStart").removeAttr("disabled");
		disLoad();
	});
	
	//设置参数 uploader.option('server', "upFiles.do?aa=3");
	var opts = uploader.options; 
	uploader.on('error', function (code, arg0,arg1) {
		 switch(code){
		 case "F_DUPLICATE":
			 server.alert(arg0.name + ":已上传");
			 break;
		 case "Q_TYPE_DENIED":
			 server.alert(arg0.name + ":文件不允许上传");
			 break;
		 //验证单个文件大小是否超出限制, 超出则不允许加入队列。
		 case "F_EXCEED_SIZE":	
			var fileMaxSize = common.fileSizeCalculate(opts.fileSingleSizeLimit);
			server.alert(arg1.name+":文件大小超出限制" + fileMaxSize);
			break; 
		 //验证文件总大小是否超出限制, 超出则不允许加入队列
		 case "Q_EXCEED_SIZE_LIMIT":
			 var fileSizeCount = common.fileSizeCalculate(opts.fileSizeLimit);
			 server.alert("您上传的文件大小不能超过：" + fileSizeCount);
         	 break;
         //验证文件总数量, 超出则不允许加入队列
		 case "Q_EXCEED_NUM_LIMIT":
			 server.alert("最多上传文件数：" + opts.fileNumLimit + "，多余的文件将不予上传");
			 break;
		 }
	 });
	 
	 
	 //开始上传
	 $("#btnStart").on("click",function(){
		 //进行参数验证
		 uploader.upload();
		 $("#btnStart").attr("disabled","disabled");
		 load();
	 });
	 
	
	$(".bootbox.modal").on("shown.bs.modal",function(){  
        uploader.refresh();
	});
}

function load() {
	$("<div class=\"datagrid-mask\"></div>").css({
				display : "block",
				width : "100%",
				height : $(window).height()
			}).appendTo("body");
	$("<div class=\"datagrid-mask-msg\"></div>").html("正在加载，请稍候。。。")
			.appendTo("body").css({
						display : "block",
						left : ($(document.body).outerWidth(true) - 190) / 2,
						top : ($(window).height() - 45) / 2
					});
}

function disLoad() {
	$(".datagrid-mask").remove();
	$(".datagrid-mask-msg").remove();
}

//无用
common.removeFiles = function(uploader,$list){
	var files = uploader.getFiles();
	alert(files.length);
	for(i=0; i<files.length; i++){
		uploader.removeFile(files[i], true);
		$list.empty();
	}
	//重置队列
	uploader.reset();
}

common.fileSizeCalculate = function(fileSize){
	// 检查大小, 转换成M 或K 或G的格式
	if(fileSize >= 1024*1024*1024){
		fileSize = (fileSize/(1024*1024*1024)).toFixed(2) + 'G';
	}else if(fileSize >= 1024*1024){
		fileSize = (fileSize/(1024*1024)).toFixed(1) + 'M';
	}else{
		fileSize = (fileSize/1024).toFixed(0) + 'KB';
	}
	return fileSize;
}
